﻿using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;

using Xyz.DataObjects.Interfaces;

namespace Xyz.DataObjects
{
    public static class DataAccess
    {
        private static readonly string Connection = ConfigurationManager.AppSettings.Get("connection");
        private static readonly IDaoFactory Factory = DaoFactories.GetFactory(Connection);

        public static IAdministratorDao AdministratorDao { get { return Factory.AdministratorDao; } }
        public static IAgentDao AgentDao { get { return Factory.AgentDao; } }
        public static IAircraftDao AircraftDao { get { return Factory.AircraftDao; } }
        public static IAircraftSeatDao AircraftSeatDao { get { return Factory.AircraftSeatDao; } }
        public static IAirportDao AirportDao { get { return Factory.AirportDao; } }
        public static IBillingAddressDao BillingAddressDao { get { return Factory.BillingAddressDao; } }
        public static IBookingDao BookingDao { get { return Factory.BookingDao; } }
        public static ICardPaymentDao CardPaymentDao { get { return Factory.CardPaymentDao; } }
        public static ICardTypeDao CardTypeDao { get { return Factory.CardTypeDao; } }
        public static ICityDao CityDao { get { return Factory.CityDao; } }
        public static ICountryDao CountryDao { get { return Factory.CountryDao; } }
        public static ICustomerDao CustomerDao { get { return Factory.CustomerDao; } }
        public static IFlightDao FlightDao { get { return Factory.FlightDao; } }
        public static IFlightPriceDao FlightPriceDao { get { return Factory.FlightPriceDao; } }
        public static IFlightSeatDao FlightSeatDao { get { return Factory.FlightSeatDao; } }
        public static IGstDao GstDao { get { return Factory.GstDao; } }
        public static IMemberDao MemberDao { get { return Factory.MemberDao; } }
        public static IMemberPaymentDao MemberPaymentDao { get { return Factory.MemberPaymentDao; } }
        public static IPassengerDao PassengerDao { get { return Factory.PassengerDao; } }
        public static IPaymentMethodDao PaymentMethodDao { get { return Factory.PaymentMethodDao; } }
        public static ISeatTypeDao SeatTypeDao { get { return Factory.SeatTypeDao; } }
        public static IServiceCategoryDao ServiceCategoryDao { get { return Factory.ServiceCategoryDao; } }
        public static IServiceDao ServiceDao { get { return Factory.ServiceDao; } }
        public static ITerminalDao TerminalDao { get { return Factory.TerminalDao; } }
        public static ITicketDao TicketDao { get { return Factory.TicketDao; } }
        public static ITripDao TripDao { get { return Factory.TripDao; } }
        public static IRoleDao RoleDao { get { return Factory.RoleDao; } }
    }
}
